<html><!-- Created using the cpp_pretty_printer from the dlib C++ library.  See http://dlib.net for updates. --><head><title>dlib C++ Library - pascal_voc_2012.h</title></head><body bgcolor='white'><pre>
<font color='#009900'>// The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt
</font><font color='#009900'>/*
    Helper definitions for working with the PASCAL VOC2012 dataset.
*/</font>

<font color='#0000FF'>#ifndef</font> PASCAL_VOC_2012_H_
<font color='#0000FF'>#define</font> PASCAL_VOC_2012_H_

<font color='#0000FF'>#include</font> <font color='#5555FF'>&lt;</font>dlib<font color='#5555FF'>/</font>pixel.h<font color='#5555FF'>&gt;</font>
<font color='#0000FF'>#include</font> <font color='#5555FF'>&lt;</font>dlib<font color='#5555FF'>/</font>dnn.h<font color='#5555FF'>&gt;</font>

<font color='#009900'>// ----------------------------------------------------------------------------------------
</font>
<font color='#009900'>// The PASCAL VOC2012 dataset contains 20 ground-truth classes + background.  Each class
</font><font color='#009900'>// is represented using an RGB color value.  We associate each class also to an index in the
</font><font color='#009900'>// range [0, 20], used internally by the network. To convert the ground-truth data to
</font><font color='#009900'>// something that the network can efficiently digest, we need to be able to map the RGB
</font><font color='#009900'>// values to the corresponding indexes.
</font>
<font color='#0000FF'>struct</font> <b><a name='Voc2012class'></a>Voc2012class</b> <b>{</b>
    <b><a name='Voc2012class'></a>Voc2012class</b><font face='Lucida Console'>(</font>uint16_t index, <font color='#0000FF'>const</font> dlib::rgb_pixel<font color='#5555FF'>&amp;</font> rgb_label, <font color='#0000FF'>const</font> std::string<font color='#5555FF'>&amp;</font> classlabel<font face='Lucida Console'>)</font>
        : index<font face='Lucida Console'>(</font>index<font face='Lucida Console'>)</font>, rgb_label<font face='Lucida Console'>(</font>rgb_label<font face='Lucida Console'>)</font>, classlabel<font face='Lucida Console'>(</font>classlabel<font face='Lucida Console'>)</font>
    <b>{</b><b>}</b>

    <font color='#009900'>// The index of the class. In the PASCAL VOC 2012 dataset, indexes from 0 to 20 are valid.
</font>    <font color='#0000FF'>const</font> uint16_t index <font color='#5555FF'>=</font> <font color='#979000'>0</font>;

    <font color='#009900'>// The corresponding RGB representation of the class.
</font>    <font color='#0000FF'>const</font> dlib::rgb_pixel rgb_label;

    <font color='#009900'>// The label of the class in plain text.
</font>    <font color='#0000FF'>const</font> std::string classlabel;
<b>}</b>;

<font color='#0000FF'>namespace</font> <b>{</b>
    constexpr <font color='#0000FF'><u>int</u></font> class_count <font color='#5555FF'>=</font> <font color='#979000'>21</font>; <font color='#009900'>// background + 20 classes
</font>
    <font color='#0000FF'>const</font> std::vector<font color='#5555FF'>&lt;</font>Voc2012class<font color='#5555FF'>&gt;</font> classes <font color='#5555FF'>=</font> <b>{</b>
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>0</font>, dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font><font color='#979000'>0</font>, <font color='#979000'>0</font>, <font color='#979000'>0</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'></font>"<font face='Lucida Console'>)</font>, <font color='#009900'>// background
</font>
        <font color='#009900'>// The cream-colored `void' label is used in border regions and to mask difficult objects
</font>        <font color='#009900'>// (see http://host.robots.ox.ac.uk/pascal/VOC/voc2012/htmldoc/devkit_doc.html)
</font>        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font>dlib::loss_multiclass_log_per_pixel_::label_to_ignore,
            dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font><font color='#979000'>224</font>, <font color='#979000'>224</font>, <font color='#979000'>192</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>border</font>"<font face='Lucida Console'>)</font>,

        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>1</font>,  dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font><font color='#979000'>128</font>,   <font color='#979000'>0</font>,   <font color='#979000'>0</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>aeroplane</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>2</font>,  dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font>  <font color='#979000'>0</font>, <font color='#979000'>128</font>,   <font color='#979000'>0</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>bicycle</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>3</font>,  dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font><font color='#979000'>128</font>, <font color='#979000'>128</font>,   <font color='#979000'>0</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>bird</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>4</font>,  dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font>  <font color='#979000'>0</font>,   <font color='#979000'>0</font>, <font color='#979000'>128</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>boat</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>5</font>,  dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font><font color='#979000'>128</font>,   <font color='#979000'>0</font>, <font color='#979000'>128</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>bottle</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>6</font>,  dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font>  <font color='#979000'>0</font>, <font color='#979000'>128</font>, <font color='#979000'>128</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>bus</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>7</font>,  dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font><font color='#979000'>128</font>, <font color='#979000'>128</font>, <font color='#979000'>128</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>car</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>8</font>,  dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font> <font color='#979000'>64</font>,   <font color='#979000'>0</font>,   <font color='#979000'>0</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>cat</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>9</font>,  dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font><font color='#979000'>192</font>,   <font color='#979000'>0</font>,   <font color='#979000'>0</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>chair</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>10</font>, dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font> <font color='#979000'>64</font>, <font color='#979000'>128</font>,   <font color='#979000'>0</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>cow</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>11</font>, dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font><font color='#979000'>192</font>, <font color='#979000'>128</font>,   <font color='#979000'>0</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>diningtable</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>12</font>, dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font> <font color='#979000'>64</font>,   <font color='#979000'>0</font>, <font color='#979000'>128</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>dog</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>13</font>, dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font><font color='#979000'>192</font>,   <font color='#979000'>0</font>, <font color='#979000'>128</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>horse</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>14</font>, dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font> <font color='#979000'>64</font>, <font color='#979000'>128</font>, <font color='#979000'>128</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>motorbike</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>15</font>, dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font><font color='#979000'>192</font>, <font color='#979000'>128</font>, <font color='#979000'>128</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>person</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>16</font>, dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font>  <font color='#979000'>0</font>,  <font color='#979000'>64</font>,   <font color='#979000'>0</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>pottedplant</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>17</font>, dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font><font color='#979000'>128</font>,  <font color='#979000'>64</font>,   <font color='#979000'>0</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>sheep</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>18</font>, dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font>  <font color='#979000'>0</font>, <font color='#979000'>192</font>,   <font color='#979000'>0</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>sofa</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>19</font>, dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font><font color='#979000'>128</font>, <font color='#979000'>192</font>,   <font color='#979000'>0</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>train</font>"<font face='Lucida Console'>)</font>,
        <font color='#BB00BB'>Voc2012class</font><font face='Lucida Console'>(</font><font color='#979000'>20</font>, dlib::<font color='#BB00BB'>rgb_pixel</font><font face='Lucida Console'>(</font>  <font color='#979000'>0</font>,  <font color='#979000'>64</font>, <font color='#979000'>128</font><font face='Lucida Console'>)</font>, "<font color='#CC0000'>tvmonitor</font>"<font face='Lucida Console'>)</font>,
    <b>}</b>;
<b>}</b>

<font color='#0000FF'>template</font> <font color='#5555FF'>&lt;</font><font color='#0000FF'>typename</font> Predicate<font color='#5555FF'>&gt;</font>
<font color='#0000FF'>const</font> Voc2012class<font color='#5555FF'>&amp;</font> <b><a name='find_voc2012_class'></a>find_voc2012_class</b><font face='Lucida Console'>(</font>Predicate predicate<font face='Lucida Console'>)</font>
<b>{</b>
    <font color='#0000FF'>const</font> <font color='#0000FF'>auto</font> i <font color='#5555FF'>=</font> std::<font color='#BB00BB'>find_if</font><font face='Lucida Console'>(</font>classes.<font color='#BB00BB'>begin</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>, classes.<font color='#BB00BB'>end</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>, predicate<font face='Lucida Console'>)</font>;

    <font color='#0000FF'>if</font> <font face='Lucida Console'>(</font>i <font color='#5555FF'>!</font><font color='#5555FF'>=</font> classes.<font color='#BB00BB'>end</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>
    <b>{</b>
        <font color='#0000FF'>return</font> <font color='#5555FF'>*</font>i;
    <b>}</b>
    <font color='#0000FF'>else</font>
    <b>{</b>
        <font color='#0000FF'>throw</font> std::<font color='#BB00BB'>runtime_error</font><font face='Lucida Console'>(</font>"<font color='#CC0000'>Unable to find a matching VOC2012 class</font>"<font face='Lucida Console'>)</font>;
    <b>}</b>
<b>}</b>

<font color='#009900'>// ----------------------------------------------------------------------------------------
</font>
<font color='#009900'>// The names of the input image and the associated RGB label image in the PASCAL VOC 2012
</font><font color='#009900'>// data set.
</font><font color='#0000FF'>struct</font> <b><a name='image_info'></a>image_info</b>
<b>{</b>
    std::string image_filename;
    std::string class_label_filename;
    std::string instance_label_filename;
<b>}</b>;

<font color='#009900'>// Read the list of image files belonging to either the "train", "trainval", or "val" set
</font><font color='#009900'>// of the PASCAL VOC2012 data.
</font>std::vector<font color='#5555FF'>&lt;</font>image_info<font color='#5555FF'>&gt;</font> <b><a name='get_pascal_voc2012_listing'></a>get_pascal_voc2012_listing</b><font face='Lucida Console'>(</font>
    <font color='#0000FF'>const</font> std::string<font color='#5555FF'>&amp;</font> voc2012_folder,
    <font color='#0000FF'>const</font> std::string<font color='#5555FF'>&amp;</font> file <font color='#5555FF'>=</font> "<font color='#CC0000'>train</font>" <font color='#009900'>// "train", "trainval", or "val"
</font><font face='Lucida Console'>)</font>
<b>{</b>
    std::ifstream <font color='#BB00BB'>in</font><font face='Lucida Console'>(</font>voc2012_folder <font color='#5555FF'>+</font> "<font color='#CC0000'>/ImageSets/Segmentation/</font>" <font color='#5555FF'>+</font> file <font color='#5555FF'>+</font> "<font color='#CC0000'>.txt</font>"<font face='Lucida Console'>)</font>;

    std::vector<font color='#5555FF'>&lt;</font>image_info<font color='#5555FF'>&gt;</font> results;

    <font color='#0000FF'>while</font> <font face='Lucida Console'>(</font>in<font face='Lucida Console'>)</font>
    <b>{</b>
        std::string basename;
        in <font color='#5555FF'>&gt;</font><font color='#5555FF'>&gt;</font> basename;

        <font color='#0000FF'>if</font> <font face='Lucida Console'>(</font><font color='#5555FF'>!</font>basename.<font color='#BB00BB'>empty</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>
        <b>{</b>
            image_info info;
            info.image_filename          <font color='#5555FF'>=</font> voc2012_folder <font color='#5555FF'>+</font> "<font color='#CC0000'>/JPEGImages/</font>"         <font color='#5555FF'>+</font> basename <font color='#5555FF'>+</font> "<font color='#CC0000'>.jpg</font>";
            info.class_label_filename    <font color='#5555FF'>=</font> voc2012_folder <font color='#5555FF'>+</font> "<font color='#CC0000'>/SegmentationClass/</font>"  <font color='#5555FF'>+</font> basename <font color='#5555FF'>+</font> "<font color='#CC0000'>.png</font>";
            info.instance_label_filename <font color='#5555FF'>=</font> voc2012_folder <font color='#5555FF'>+</font> "<font color='#CC0000'>/SegmentationObject/</font>" <font color='#5555FF'>+</font> basename <font color='#5555FF'>+</font> "<font color='#CC0000'>.png</font>";
            results.<font color='#BB00BB'>push_back</font><font face='Lucida Console'>(</font>info<font face='Lucida Console'>)</font>;
        <b>}</b>
    <b>}</b>

    <font color='#0000FF'>return</font> results;
<b>}</b>

<font color='#009900'>// Read the list of image files belong to the "train" set of the PASCAL VOC2012 data.
</font>std::vector<font color='#5555FF'>&lt;</font>image_info<font color='#5555FF'>&gt;</font> <b><a name='get_pascal_voc2012_train_listing'></a>get_pascal_voc2012_train_listing</b><font face='Lucida Console'>(</font>
    <font color='#0000FF'>const</font> std::string<font color='#5555FF'>&amp;</font> voc2012_folder
<font face='Lucida Console'>)</font>
<b>{</b>
    <font color='#0000FF'>return</font> <font color='#BB00BB'>get_pascal_voc2012_listing</font><font face='Lucida Console'>(</font>voc2012_folder, "<font color='#CC0000'>train</font>"<font face='Lucida Console'>)</font>;
<b>}</b>

<font color='#009900'>// Read the list of image files belong to the "val" set of the PASCAL VOC2012 data.
</font>std::vector<font color='#5555FF'>&lt;</font>image_info<font color='#5555FF'>&gt;</font> <b><a name='get_pascal_voc2012_val_listing'></a>get_pascal_voc2012_val_listing</b><font face='Lucida Console'>(</font>
    <font color='#0000FF'>const</font> std::string<font color='#5555FF'>&amp;</font> voc2012_folder
<font face='Lucida Console'>)</font>
<b>{</b>
    <font color='#0000FF'>return</font> <font color='#BB00BB'>get_pascal_voc2012_listing</font><font face='Lucida Console'>(</font>voc2012_folder, "<font color='#CC0000'>val</font>"<font face='Lucida Console'>)</font>;
<b>}</b>

<font color='#009900'>// Given an RGB representation, find the corresponding PASCAL VOC2012 class
</font><font color='#009900'>// (e.g., 'dog').
</font><font color='#0000FF'>const</font> Voc2012class<font color='#5555FF'>&amp;</font> <b><a name='find_voc2012_class'></a>find_voc2012_class</b><font face='Lucida Console'>(</font><font color='#0000FF'>const</font> dlib::rgb_pixel<font color='#5555FF'>&amp;</font> rgb_label<font face='Lucida Console'>)</font>
<b>{</b>
    <font color='#0000FF'>return</font> <font color='#BB00BB'>find_voc2012_class</font><font face='Lucida Console'>(</font>
        [<font color='#5555FF'>&amp;</font>rgb_label]<font face='Lucida Console'>(</font><font color='#0000FF'>const</font> Voc2012class<font color='#5555FF'>&amp;</font> voc2012class<font face='Lucida Console'>)</font>
        <b>{</b>
            <font color='#0000FF'>return</font> rgb_label <font color='#5555FF'>=</font><font color='#5555FF'>=</font> voc2012class.rgb_label;
        <b>}</b>
    <font face='Lucida Console'>)</font>;
<b>}</b>

<font color='#009900'>// ----------------------------------------------------------------------------------------
</font>
<font color='#009900'>// Convert an RGB class label to an index in the range [0, 20].
</font><font color='#0000FF'>inline</font> uint16_t <b><a name='rgb_label_to_index_label'></a>rgb_label_to_index_label</b><font face='Lucida Console'>(</font><font color='#0000FF'>const</font> dlib::rgb_pixel<font color='#5555FF'>&amp;</font> rgb_label<font face='Lucida Console'>)</font>
<b>{</b>
    <font color='#0000FF'>return</font> <font color='#BB00BB'>find_voc2012_class</font><font face='Lucida Console'>(</font>rgb_label<font face='Lucida Console'>)</font>.index;
<b>}</b>

<font color='#009900'>// Convert an image containing RGB class labels to a corresponding
</font><font color='#009900'>// image containing indexes in the range [0, 20].
</font><font color='#0000FF'><u>void</u></font> <b><a name='rgb_label_image_to_index_label_image'></a>rgb_label_image_to_index_label_image</b><font face='Lucida Console'>(</font>
    <font color='#0000FF'>const</font> dlib::matrix<font color='#5555FF'>&lt;</font>dlib::rgb_pixel<font color='#5555FF'>&gt;</font><font color='#5555FF'>&amp;</font> rgb_label_image,
    dlib::matrix<font color='#5555FF'>&lt;</font>uint16_t<font color='#5555FF'>&gt;</font><font color='#5555FF'>&amp;</font> index_label_image
<font face='Lucida Console'>)</font>
<b>{</b>
    <font color='#0000FF'>const</font> <font color='#0000FF'><u>long</u></font> nr <font color='#5555FF'>=</font> rgb_label_image.<font color='#BB00BB'>nr</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>;
    <font color='#0000FF'>const</font> <font color='#0000FF'><u>long</u></font> nc <font color='#5555FF'>=</font> rgb_label_image.<font color='#BB00BB'>nc</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>;

    index_label_image.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font>nr, nc<font face='Lucida Console'>)</font>;

    <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> r <font color='#5555FF'>=</font> <font color='#979000'>0</font>; r <font color='#5555FF'>&lt;</font> nr; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>r<font face='Lucida Console'>)</font>
    <b>{</b>
        <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> c <font color='#5555FF'>=</font> <font color='#979000'>0</font>; c <font color='#5555FF'>&lt;</font> nc; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>c<font face='Lucida Console'>)</font>
        <b>{</b>
            <font color='#BB00BB'>index_label_image</font><font face='Lucida Console'>(</font>r, c<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> <font color='#BB00BB'>rgb_label_to_index_label</font><font face='Lucida Console'>(</font><font color='#BB00BB'>rgb_label_image</font><font face='Lucida Console'>(</font>r, c<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
        <b>}</b>
    <b>}</b>
<b>}</b>

<font color='#0000FF'>#endif</font> <font color='#009900'>// PASCAL_VOC_2012_H_
</font>
</pre></body></html>